﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ComponentModel;


namespace devtm.AutoMapper
{


    public partial class MappingModel : INotifyPropertyChanged
    {


        /// <summary>
        /// Value handler for the MappingModel.Namespace domain property.
        /// </summary>
        internal sealed partial class NamespacePropertyHandler
        {

            protected override void OnValueChanged(MappingModel element, string oldValue, string newValue)
            {
                base.OnValueChanged(element, oldValue, newValue);
                element.PropertyChange("NamespaceProperty");
            }
        }


        internal sealed partial class InstrumentationPropertyHandler
        {

            protected override void OnValueChanged(MappingModel element, bool oldValue, bool newValue)
            {
                base.OnValueChanged(element, oldValue, newValue);
                element.PropertyChange("Instrumentation");
            }

        }



        internal sealed partial class CategoryPropertyHandler
        {

            protected override void OnValueChanged(MappingModel element, string oldValue, string newValue)
            {
                base.OnValueChanged(element, oldValue, newValue);
                element.PropertyChange("CategoryPropertyHandler");
            }

        }



        internal sealed partial class DebuggerStepThroughPropertyHandler
        {

            protected override void OnValueChanged(MappingModel element, bool oldValue, bool newValue)
            {
                base.OnValueChanged(element, oldValue, newValue);
                element.PropertyChange("DebuggerStepThrough");
            }
        }



        internal sealed partial class ClassNamePropertyHandler
        {

            protected override void OnValueChanged(MappingModel element, string oldValue, string newValue)
            {
                base.OnValueChanged(element, oldValue, newValue);
                element.PropertyChange("ClassName");
            }

        }

        protected void PropertyChange(string propertyName)
        {
            if (PropertyChanged != null)
                PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
        }

        public event PropertyChangedEventHandler PropertyChanged;
    }

}

